﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.ComponentModel.DataAnnotations;

namespace TicketsPhone.Entidades
{
    public class Usuario
    {
        
        
		public Usuario() {
            Perfil = new PerfilRelacional();
            Entidad = new EntidadRelacional();
        }

		public Usuario(IDataRecord obj)
		{
            Perfil = new PerfilRelacional();
            Entidad = new EntidadRelacional();
            
            IdUsuario = Convert.ToInt32(obj["IdUsuario"]);
			Nombre = Convert.ToString(obj["Nombre"]);
			Apellidos = Convert.ToString(obj["Apellidos"]);
			Perfil.IdPerfil = Convert.ToInt32(obj["IdPerfil"]);
            Entidad.IdEntidad = Convert.ToInt32(obj["IdEntidad"]);
			Activo = Convert.ToBoolean(obj["Activo"]);
			IdSucursal = Convert.ToInt32(obj["IdSucursal"]);
			FechaRegistro = Convert.ToDateTime(obj["FechaRegistro"]);
			Email = Convert.ToString(obj["Email"]);
			EsAdministrador = Convert.ToBoolean(obj["EsAdministrador"]);
		}
		

		#region Propiedades

    
        
		public Int32? IdUsuario { get; set; }

        [Required(ErrorMessage="Debe ingresar el nombre")]
		public string Nombre { get; set; }

        [Required(ErrorMessage = "Debe ingresar los apellidos")]
		public string Apellidos { get; set; }

		public PerfilRelacional Perfil { get; set; }

		public bool Activo { get; set; }

        public EntidadRelacional Entidad { get; set; }

		public Int32? IdSucursal { get; set; }

		public DateTime? FechaRegistro { get; set; }

        [Required(ErrorMessage = "Debe ingresar el email")]
        [RegularExpression(pattern:@"\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*", ErrorMessage="El formato del email no es el correcto")]
		public string Email { get; set; }

		public string Pass { get; set; }

		public bool? EsAdministrador { get; set; }
        
		#endregion
        
    }
}
